package mn.idax.exchange.otc.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PairExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PairExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("Id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("Id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("Id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("Id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("Id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("Id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("Id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("Id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("Id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("Id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("Id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("Id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBasecoinidIsNull() {
            addCriterion("BaseCoinId is null");
            return (Criteria) this;
        }

        public Criteria andBasecoinidIsNotNull() {
            addCriterion("BaseCoinId is not null");
            return (Criteria) this;
        }

        public Criteria andBasecoinidEqualTo(Integer value) {
            addCriterion("BaseCoinId =", value, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidNotEqualTo(Integer value) {
            addCriterion("BaseCoinId <>", value, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidGreaterThan(Integer value) {
            addCriterion("BaseCoinId >", value, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidGreaterThanOrEqualTo(Integer value) {
            addCriterion("BaseCoinId >=", value, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidLessThan(Integer value) {
            addCriterion("BaseCoinId <", value, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidLessThanOrEqualTo(Integer value) {
            addCriterion("BaseCoinId <=", value, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidIn(List<Integer> values) {
            addCriterion("BaseCoinId in", values, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidNotIn(List<Integer> values) {
            addCriterion("BaseCoinId not in", values, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidBetween(Integer value1, Integer value2) {
            addCriterion("BaseCoinId between", value1, value2, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoinidNotBetween(Integer value1, Integer value2) {
            addCriterion("BaseCoinId not between", value1, value2, "basecoinid");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeIsNull() {
            addCriterion("BaseCoinCode is null");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeIsNotNull() {
            addCriterion("BaseCoinCode is not null");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeEqualTo(String value) {
            addCriterion("BaseCoinCode =", value, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeNotEqualTo(String value) {
            addCriterion("BaseCoinCode <>", value, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeGreaterThan(String value) {
            addCriterion("BaseCoinCode >", value, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeGreaterThanOrEqualTo(String value) {
            addCriterion("BaseCoinCode >=", value, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeLessThan(String value) {
            addCriterion("BaseCoinCode <", value, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeLessThanOrEqualTo(String value) {
            addCriterion("BaseCoinCode <=", value, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeLike(String value) {
            addCriterion("BaseCoinCode like", value, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeNotLike(String value) {
            addCriterion("BaseCoinCode not like", value, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeIn(List<String> values) {
            addCriterion("BaseCoinCode in", values, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeNotIn(List<String> values) {
            addCriterion("BaseCoinCode not in", values, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeBetween(String value1, String value2) {
            addCriterion("BaseCoinCode between", value1, value2, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andBasecoincodeNotBetween(String value1, String value2) {
            addCriterion("BaseCoinCode not between", value1, value2, "basecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidIsNull() {
            addCriterion("QuoteCoinId is null");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidIsNotNull() {
            addCriterion("QuoteCoinId is not null");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidEqualTo(Integer value) {
            addCriterion("QuoteCoinId =", value, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidNotEqualTo(Integer value) {
            addCriterion("QuoteCoinId <>", value, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidGreaterThan(Integer value) {
            addCriterion("QuoteCoinId >", value, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidGreaterThanOrEqualTo(Integer value) {
            addCriterion("QuoteCoinId >=", value, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidLessThan(Integer value) {
            addCriterion("QuoteCoinId <", value, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidLessThanOrEqualTo(Integer value) {
            addCriterion("QuoteCoinId <=", value, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidIn(List<Integer> values) {
            addCriterion("QuoteCoinId in", values, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidNotIn(List<Integer> values) {
            addCriterion("QuoteCoinId not in", values, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidBetween(Integer value1, Integer value2) {
            addCriterion("QuoteCoinId between", value1, value2, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoinidNotBetween(Integer value1, Integer value2) {
            addCriterion("QuoteCoinId not between", value1, value2, "quotecoinid");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeIsNull() {
            addCriterion("QuoteCoinCode is null");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeIsNotNull() {
            addCriterion("QuoteCoinCode is not null");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeEqualTo(String value) {
            addCriterion("QuoteCoinCode =", value, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeNotEqualTo(String value) {
            addCriterion("QuoteCoinCode <>", value, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeGreaterThan(String value) {
            addCriterion("QuoteCoinCode >", value, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeGreaterThanOrEqualTo(String value) {
            addCriterion("QuoteCoinCode >=", value, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeLessThan(String value) {
            addCriterion("QuoteCoinCode <", value, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeLessThanOrEqualTo(String value) {
            addCriterion("QuoteCoinCode <=", value, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeLike(String value) {
            addCriterion("QuoteCoinCode like", value, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeNotLike(String value) {
            addCriterion("QuoteCoinCode not like", value, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeIn(List<String> values) {
            addCriterion("QuoteCoinCode in", values, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeNotIn(List<String> values) {
            addCriterion("QuoteCoinCode not in", values, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeBetween(String value1, String value2) {
            addCriterion("QuoteCoinCode between", value1, value2, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andQuotecoincodeNotBetween(String value1, String value2) {
            addCriterion("QuoteCoinCode not between", value1, value2, "quotecoincode");
            return (Criteria) this;
        }

        public Criteria andPairnameIsNull() {
            addCriterion("PairName is null");
            return (Criteria) this;
        }

        public Criteria andPairnameIsNotNull() {
            addCriterion("PairName is not null");
            return (Criteria) this;
        }

        public Criteria andPairnameEqualTo(String value) {
            addCriterion("PairName =", value, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameNotEqualTo(String value) {
            addCriterion("PairName <>", value, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameGreaterThan(String value) {
            addCriterion("PairName >", value, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameGreaterThanOrEqualTo(String value) {
            addCriterion("PairName >=", value, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameLessThan(String value) {
            addCriterion("PairName <", value, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameLessThanOrEqualTo(String value) {
            addCriterion("PairName <=", value, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameLike(String value) {
            addCriterion("PairName like", value, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameNotLike(String value) {
            addCriterion("PairName not like", value, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameIn(List<String> values) {
            addCriterion("PairName in", values, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameNotIn(List<String> values) {
            addCriterion("PairName not in", values, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameBetween(String value1, String value2) {
            addCriterion("PairName between", value1, value2, "pairname");
            return (Criteria) this;
        }

        public Criteria andPairnameNotBetween(String value1, String value2) {
            addCriterion("PairName not between", value1, value2, "pairname");
            return (Criteria) this;
        }

        public Criteria andNormalizenameIsNull() {
            addCriterion("NormalizeName is null");
            return (Criteria) this;
        }

        public Criteria andNormalizenameIsNotNull() {
            addCriterion("NormalizeName is not null");
            return (Criteria) this;
        }

        public Criteria andNormalizenameEqualTo(String value) {
            addCriterion("NormalizeName =", value, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameNotEqualTo(String value) {
            addCriterion("NormalizeName <>", value, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameGreaterThan(String value) {
            addCriterion("NormalizeName >", value, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameGreaterThanOrEqualTo(String value) {
            addCriterion("NormalizeName >=", value, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameLessThan(String value) {
            addCriterion("NormalizeName <", value, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameLessThanOrEqualTo(String value) {
            addCriterion("NormalizeName <=", value, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameLike(String value) {
            addCriterion("NormalizeName like", value, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameNotLike(String value) {
            addCriterion("NormalizeName not like", value, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameIn(List<String> values) {
            addCriterion("NormalizeName in", values, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameNotIn(List<String> values) {
            addCriterion("NormalizeName not in", values, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameBetween(String value1, String value2) {
            addCriterion("NormalizeName between", value1, value2, "normalizename");
            return (Criteria) this;
        }

        public Criteria andNormalizenameNotBetween(String value1, String value2) {
            addCriterion("NormalizeName not between", value1, value2, "normalizename");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateIsNull() {
            addCriterion("BuyerFeeRate is null");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateIsNotNull() {
            addCriterion("BuyerFeeRate is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateEqualTo(BigDecimal value) {
            addCriterion("BuyerFeeRate =", value, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateNotEqualTo(BigDecimal value) {
            addCriterion("BuyerFeeRate <>", value, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateGreaterThan(BigDecimal value) {
            addCriterion("BuyerFeeRate >", value, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("BuyerFeeRate >=", value, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateLessThan(BigDecimal value) {
            addCriterion("BuyerFeeRate <", value, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("BuyerFeeRate <=", value, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateIn(List<BigDecimal> values) {
            addCriterion("BuyerFeeRate in", values, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateNotIn(List<BigDecimal> values) {
            addCriterion("BuyerFeeRate not in", values, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("BuyerFeeRate between", value1, value2, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andBuyerfeerateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("BuyerFeeRate not between", value1, value2, "buyerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateIsNull() {
            addCriterion("SellerFeeRate is null");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateIsNotNull() {
            addCriterion("SellerFeeRate is not null");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateEqualTo(BigDecimal value) {
            addCriterion("SellerFeeRate =", value, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateNotEqualTo(BigDecimal value) {
            addCriterion("SellerFeeRate <>", value, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateGreaterThan(BigDecimal value) {
            addCriterion("SellerFeeRate >", value, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SellerFeeRate >=", value, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateLessThan(BigDecimal value) {
            addCriterion("SellerFeeRate <", value, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SellerFeeRate <=", value, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateIn(List<BigDecimal> values) {
            addCriterion("SellerFeeRate in", values, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateNotIn(List<BigDecimal> values) {
            addCriterion("SellerFeeRate not in", values, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SellerFeeRate between", value1, value2, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andSellerfeerateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SellerFeeRate not between", value1, value2, "sellerfeerate");
            return (Criteria) this;
        }

        public Criteria andMaxamountIsNull() {
            addCriterion("MaxAmount is null");
            return (Criteria) this;
        }

        public Criteria andMaxamountIsNotNull() {
            addCriterion("MaxAmount is not null");
            return (Criteria) this;
        }

        public Criteria andMaxamountEqualTo(BigDecimal value) {
            addCriterion("MaxAmount =", value, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountNotEqualTo(BigDecimal value) {
            addCriterion("MaxAmount <>", value, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountGreaterThan(BigDecimal value) {
            addCriterion("MaxAmount >", value, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("MaxAmount >=", value, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountLessThan(BigDecimal value) {
            addCriterion("MaxAmount <", value, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("MaxAmount <=", value, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountIn(List<BigDecimal> values) {
            addCriterion("MaxAmount in", values, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountNotIn(List<BigDecimal> values) {
            addCriterion("MaxAmount not in", values, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("MaxAmount between", value1, value2, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMaxamountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("MaxAmount not between", value1, value2, "maxamount");
            return (Criteria) this;
        }

        public Criteria andMinamountIsNull() {
            addCriterion("MinAmount is null");
            return (Criteria) this;
        }

        public Criteria andMinamountIsNotNull() {
            addCriterion("MinAmount is not null");
            return (Criteria) this;
        }

        public Criteria andMinamountEqualTo(BigDecimal value) {
            addCriterion("MinAmount =", value, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountNotEqualTo(BigDecimal value) {
            addCriterion("MinAmount <>", value, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountGreaterThan(BigDecimal value) {
            addCriterion("MinAmount >", value, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("MinAmount >=", value, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountLessThan(BigDecimal value) {
            addCriterion("MinAmount <", value, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("MinAmount <=", value, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountIn(List<BigDecimal> values) {
            addCriterion("MinAmount in", values, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountNotIn(List<BigDecimal> values) {
            addCriterion("MinAmount not in", values, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("MinAmount between", value1, value2, "minamount");
            return (Criteria) this;
        }

        public Criteria andMinamountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("MinAmount not between", value1, value2, "minamount");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceIsNull() {
            addCriterion("PriceDecimalPlace is null");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceIsNotNull() {
            addCriterion("PriceDecimalPlace is not null");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceEqualTo(Integer value) {
            addCriterion("PriceDecimalPlace =", value, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceNotEqualTo(Integer value) {
            addCriterion("PriceDecimalPlace <>", value, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceGreaterThan(Integer value) {
            addCriterion("PriceDecimalPlace >", value, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceGreaterThanOrEqualTo(Integer value) {
            addCriterion("PriceDecimalPlace >=", value, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceLessThan(Integer value) {
            addCriterion("PriceDecimalPlace <", value, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceLessThanOrEqualTo(Integer value) {
            addCriterion("PriceDecimalPlace <=", value, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceIn(List<Integer> values) {
            addCriterion("PriceDecimalPlace in", values, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceNotIn(List<Integer> values) {
            addCriterion("PriceDecimalPlace not in", values, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceBetween(Integer value1, Integer value2) {
            addCriterion("PriceDecimalPlace between", value1, value2, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andPricedecimalplaceNotBetween(Integer value1, Integer value2) {
            addCriterion("PriceDecimalPlace not between", value1, value2, "pricedecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceIsNull() {
            addCriterion("QtyDecimalPlace is null");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceIsNotNull() {
            addCriterion("QtyDecimalPlace is not null");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceEqualTo(Integer value) {
            addCriterion("QtyDecimalPlace =", value, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceNotEqualTo(Integer value) {
            addCriterion("QtyDecimalPlace <>", value, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceGreaterThan(Integer value) {
            addCriterion("QtyDecimalPlace >", value, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceGreaterThanOrEqualTo(Integer value) {
            addCriterion("QtyDecimalPlace >=", value, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceLessThan(Integer value) {
            addCriterion("QtyDecimalPlace <", value, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceLessThanOrEqualTo(Integer value) {
            addCriterion("QtyDecimalPlace <=", value, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceIn(List<Integer> values) {
            addCriterion("QtyDecimalPlace in", values, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceNotIn(List<Integer> values) {
            addCriterion("QtyDecimalPlace not in", values, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceBetween(Integer value1, Integer value2) {
            addCriterion("QtyDecimalPlace between", value1, value2, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andQtydecimalplaceNotBetween(Integer value1, Integer value2) {
            addCriterion("QtyDecimalPlace not between", value1, value2, "qtydecimalplace");
            return (Criteria) this;
        }

        public Criteria andIsshowindexIsNull() {
            addCriterion("IsShowIndex is null");
            return (Criteria) this;
        }

        public Criteria andIsshowindexIsNotNull() {
            addCriterion("IsShowIndex is not null");
            return (Criteria) this;
        }

        public Criteria andIsshowindexEqualTo(Boolean value) {
            addCriterion("IsShowIndex =", value, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexNotEqualTo(Boolean value) {
            addCriterion("IsShowIndex <>", value, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexGreaterThan(Boolean value) {
            addCriterion("IsShowIndex >", value, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IsShowIndex >=", value, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexLessThan(Boolean value) {
            addCriterion("IsShowIndex <", value, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexLessThanOrEqualTo(Boolean value) {
            addCriterion("IsShowIndex <=", value, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexIn(List<Boolean> values) {
            addCriterion("IsShowIndex in", values, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexNotIn(List<Boolean> values) {
            addCriterion("IsShowIndex not in", values, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexBetween(Boolean value1, Boolean value2) {
            addCriterion("IsShowIndex between", value1, value2, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andIsshowindexNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsShowIndex not between", value1, value2, "isshowindex");
            return (Criteria) this;
        }

        public Criteria andPairstateIsNull() {
            addCriterion("PairState is null");
            return (Criteria) this;
        }

        public Criteria andPairstateIsNotNull() {
            addCriterion("PairState is not null");
            return (Criteria) this;
        }

        public Criteria andPairstateEqualTo(Integer value) {
            addCriterion("PairState =", value, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateNotEqualTo(Integer value) {
            addCriterion("PairState <>", value, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateGreaterThan(Integer value) {
            addCriterion("PairState >", value, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateGreaterThanOrEqualTo(Integer value) {
            addCriterion("PairState >=", value, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateLessThan(Integer value) {
            addCriterion("PairState <", value, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateLessThanOrEqualTo(Integer value) {
            addCriterion("PairState <=", value, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateIn(List<Integer> values) {
            addCriterion("PairState in", values, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateNotIn(List<Integer> values) {
            addCriterion("PairState not in", values, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateBetween(Integer value1, Integer value2) {
            addCriterion("PairState between", value1, value2, "pairstate");
            return (Criteria) this;
        }

        public Criteria andPairstateNotBetween(Integer value1, Integer value2) {
            addCriterion("PairState not between", value1, value2, "pairstate");
            return (Criteria) this;
        }

        public Criteria andLastpriceIsNull() {
            addCriterion("LastPrice is null");
            return (Criteria) this;
        }

        public Criteria andLastpriceIsNotNull() {
            addCriterion("LastPrice is not null");
            return (Criteria) this;
        }

        public Criteria andLastpriceEqualTo(BigDecimal value) {
            addCriterion("LastPrice =", value, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceNotEqualTo(BigDecimal value) {
            addCriterion("LastPrice <>", value, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceGreaterThan(BigDecimal value) {
            addCriterion("LastPrice >", value, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("LastPrice >=", value, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceLessThan(BigDecimal value) {
            addCriterion("LastPrice <", value, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("LastPrice <=", value, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceIn(List<BigDecimal> values) {
            addCriterion("LastPrice in", values, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceNotIn(List<BigDecimal> values) {
            addCriterion("LastPrice not in", values, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("LastPrice between", value1, value2, "lastprice");
            return (Criteria) this;
        }

        public Criteria andLastpriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("LastPrice not between", value1, value2, "lastprice");
            return (Criteria) this;
        }

        public Criteria andHighIsNull() {
            addCriterion("High is null");
            return (Criteria) this;
        }

        public Criteria andHighIsNotNull() {
            addCriterion("High is not null");
            return (Criteria) this;
        }

        public Criteria andHighEqualTo(BigDecimal value) {
            addCriterion("High =", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighNotEqualTo(BigDecimal value) {
            addCriterion("High <>", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighGreaterThan(BigDecimal value) {
            addCriterion("High >", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("High >=", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighLessThan(BigDecimal value) {
            addCriterion("High <", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighLessThanOrEqualTo(BigDecimal value) {
            addCriterion("High <=", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighIn(List<BigDecimal> values) {
            addCriterion("High in", values, "high");
            return (Criteria) this;
        }

        public Criteria andHighNotIn(List<BigDecimal> values) {
            addCriterion("High not in", values, "high");
            return (Criteria) this;
        }

        public Criteria andHighBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("High between", value1, value2, "high");
            return (Criteria) this;
        }

        public Criteria andHighNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("High not between", value1, value2, "high");
            return (Criteria) this;
        }

        public Criteria andLowIsNull() {
            addCriterion("Low is null");
            return (Criteria) this;
        }

        public Criteria andLowIsNotNull() {
            addCriterion("Low is not null");
            return (Criteria) this;
        }

        public Criteria andLowEqualTo(BigDecimal value) {
            addCriterion("Low =", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowNotEqualTo(BigDecimal value) {
            addCriterion("Low <>", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowGreaterThan(BigDecimal value) {
            addCriterion("Low >", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Low >=", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowLessThan(BigDecimal value) {
            addCriterion("Low <", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Low <=", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowIn(List<BigDecimal> values) {
            addCriterion("Low in", values, "low");
            return (Criteria) this;
        }

        public Criteria andLowNotIn(List<BigDecimal> values) {
            addCriterion("Low not in", values, "low");
            return (Criteria) this;
        }

        public Criteria andLowBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Low between", value1, value2, "low");
            return (Criteria) this;
        }

        public Criteria andLowNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Low not between", value1, value2, "low");
            return (Criteria) this;
        }

        public Criteria andVolumeIsNull() {
            addCriterion("Volume is null");
            return (Criteria) this;
        }

        public Criteria andVolumeIsNotNull() {
            addCriterion("Volume is not null");
            return (Criteria) this;
        }

        public Criteria andVolumeEqualTo(BigDecimal value) {
            addCriterion("Volume =", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotEqualTo(BigDecimal value) {
            addCriterion("Volume <>", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeGreaterThan(BigDecimal value) {
            addCriterion("Volume >", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Volume >=", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeLessThan(BigDecimal value) {
            addCriterion("Volume <", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Volume <=", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeIn(List<BigDecimal> values) {
            addCriterion("Volume in", values, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotIn(List<BigDecimal> values) {
            addCriterion("Volume not in", values, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Volume between", value1, value2, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Volume not between", value1, value2, "volume");
            return (Criteria) this;
        }

        public Criteria andChangeIsNull() {
            addCriterion("Change is null");
            return (Criteria) this;
        }

        public Criteria andChangeIsNotNull() {
            addCriterion("Change is not null");
            return (Criteria) this;
        }

        public Criteria andChangeEqualTo(BigDecimal value) {
            addCriterion("Change =", value, "change");
            return (Criteria) this;
        }

        public Criteria andChangeNotEqualTo(BigDecimal value) {
            addCriterion("Change <>", value, "change");
            return (Criteria) this;
        }

        public Criteria andChangeGreaterThan(BigDecimal value) {
            addCriterion("Change >", value, "change");
            return (Criteria) this;
        }

        public Criteria andChangeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Change >=", value, "change");
            return (Criteria) this;
        }

        public Criteria andChangeLessThan(BigDecimal value) {
            addCriterion("Change <", value, "change");
            return (Criteria) this;
        }

        public Criteria andChangeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Change <=", value, "change");
            return (Criteria) this;
        }

        public Criteria andChangeIn(List<BigDecimal> values) {
            addCriterion("Change in", values, "change");
            return (Criteria) this;
        }

        public Criteria andChangeNotIn(List<BigDecimal> values) {
            addCriterion("Change not in", values, "change");
            return (Criteria) this;
        }

        public Criteria andChangeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Change between", value1, value2, "change");
            return (Criteria) this;
        }

        public Criteria andChangeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Change not between", value1, value2, "change");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("CreateTime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("CreateTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("CreateTime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("CreateTime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("CreateTime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CreateTime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("CreateTime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("CreateTime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("CreateTime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("CreateTime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("CreateTime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("CreateTime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNull() {
            addCriterion("UpdateTime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("UpdateTime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("UpdateTime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("UpdateTime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("UpdateTime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("UpdateTime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("UpdateTime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("UpdateTime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("UpdateTime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("UpdateTime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("UpdateTime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("UpdateTime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andTotalIsNull() {
            addCriterion("Total is null");
            return (Criteria) this;
        }

        public Criteria andTotalIsNotNull() {
            addCriterion("Total is not null");
            return (Criteria) this;
        }

        public Criteria andTotalEqualTo(BigDecimal value) {
            addCriterion("Total =", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotEqualTo(BigDecimal value) {
            addCriterion("Total <>", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalGreaterThan(BigDecimal value) {
            addCriterion("Total >", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Total >=", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalLessThan(BigDecimal value) {
            addCriterion("Total <", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Total <=", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalIn(List<BigDecimal> values) {
            addCriterion("Total in", values, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotIn(List<BigDecimal> values) {
            addCriterion("Total not in", values, "total");
            return (Criteria) this;
        }

        public Criteria andTotalBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Total between", value1, value2, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Total not between", value1, value2, "total");
            return (Criteria) this;
        }

        public Criteria andHotindexIsNull() {
            addCriterion("HotIndex is null");
            return (Criteria) this;
        }

        public Criteria andHotindexIsNotNull() {
            addCriterion("HotIndex is not null");
            return (Criteria) this;
        }

        public Criteria andHotindexEqualTo(Integer value) {
            addCriterion("HotIndex =", value, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexNotEqualTo(Integer value) {
            addCriterion("HotIndex <>", value, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexGreaterThan(Integer value) {
            addCriterion("HotIndex >", value, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexGreaterThanOrEqualTo(Integer value) {
            addCriterion("HotIndex >=", value, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexLessThan(Integer value) {
            addCriterion("HotIndex <", value, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexLessThanOrEqualTo(Integer value) {
            addCriterion("HotIndex <=", value, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexIn(List<Integer> values) {
            addCriterion("HotIndex in", values, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexNotIn(List<Integer> values) {
            addCriterion("HotIndex not in", values, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexBetween(Integer value1, Integer value2) {
            addCriterion("HotIndex between", value1, value2, "hotindex");
            return (Criteria) this;
        }

        public Criteria andHotindexNotBetween(Integer value1, Integer value2) {
            addCriterion("HotIndex not between", value1, value2, "hotindex");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}